package data;

public abstract class AccountManager {
	private UserAccount account;
	protected int sessionId;

	public AccountManager(UserAccount account) {
		super();
		this.account = account;
	}

	public abstract void sendEmail(String to, String subject, String message, String from);

	public void sendEmail(String subject, String message, String from) {
		sendEmail(account.getAccountEmail(), subject, message, from);
	}

	public void sendSMS(String subject, String message, String from) {
		sendEmail(account.getAccountPhone() + account.getCarrier().getMailDomain(), subject, message, from);
	}

	public abstract void changeEmail(String email);

	public abstract void changePhone(int phone);

	public abstract void changePassword(String password);

	public abstract boolean checkLogin();

	public abstract boolean register();

	public abstract boolean isRegistered();

	public abstract int getExistingSession();

	public abstract int createSession();

	public abstract void closeSession();

	public abstract int getBotInstruction();
}
